/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package objetos;

import DataTypes.DataUsuario;
import Hndlr.HndlrUsuario;
import enums.EnumAprob;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.Iterator;


/**
 *
 * @author Sebas
 */
public class Imagen extends Contenido{

    public Imagen() {
        comentarios = new ArrayList<Comentario> ();
        etiquetas = new HashMap<String, Usuario>();
    }

    public Imagen(String tit, String img, String aut) {
        
        titulo = tit;
        url = img;
        autor = HndlrUsuario.getInstance().getUsuario(aut);
        fechaPublicacion = new GregorianCalendar();
        comentarios = new ArrayList<Comentario>();
        bloqueado = false;
        publicar = true;
        aprobacion = EnumAprob.PENDIENTE;
        etiquetas = new HashMap<String, Usuario>();
        
        
    }

    @Override
    public String getTipo() {
        return ("Imagen");
    }
    
    @Override
    public void etiquetarImg(ArrayList<String> correoEtiquetado) {
        Iterator<String> iteraCorreos = correoEtiquetado.iterator();
        Usuario usr = null;
        while (iteraCorreos.hasNext()){
            usr = HndlrUsuario.getInstance().obtenerUsuario(iteraCorreos.next());
            etiquetas.put(usr.getCorreo(), usr);
        }
    }
    
    @Override
    public void quitarEtiquetaImg(String correoEtiquetado) {
        Usuario usr = HndlrUsuario.getInstance().obtenerUsuario(correoEtiquetado);
        etiquetas.remove(usr);
    }

    @Override
    public ArrayList<DataUsuario> getDataEtiquetas() {
        ArrayList<DataUsuario> result = new ArrayList<DataUsuario>();
        Iterator<Usuario> itera = etiquetas.values().iterator();
        DataUsuario usr = null;
        while (itera.hasNext()){
            usr = itera.next().getDusuario();
            result.add(usr);
        }
        return result;
    }
}
